package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单管理对象 orders
 * 
 * @author zhang
 * @date 2025-07-16
 */
public class Orders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private Long orderId;

    /** 订单总价 */
    @Excel(name = "订单总价")
    private BigDecimal orderPrice;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private Long orderStatusId;

    /** 订单支付方式 */
    @Excel(name = "订单支付方式")
    private String orderPayment;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String orderAddress;

    /** 添加时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "添加时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderAddtime;

    // 订单状态 start================================================
    private Status status;

    public Status getStatus() {
        return status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }

    // 订单状态 end==================================================

    private List<OrderProduct> orderProducts;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setOrderPrice(BigDecimal orderPrice) 
    {
        this.orderPrice = orderPrice;
    }

    public BigDecimal getOrderPrice() 
    {
        return orderPrice;
    }

    public void setOrderStatusId(Long orderStatusId) 
    {
        this.orderStatusId = orderStatusId;
    }

    public Long getOrderStatusId() 
    {
        return orderStatusId;
    }

    public void setOrderPayment(String orderPayment) 
    {
        this.orderPayment = orderPayment;
    }

    public String getOrderPayment() 
    {
        return orderPayment;
    }

    public void setOrderAddress(String orderAddress) 
    {
        this.orderAddress = orderAddress;
    }

    public String getOrderAddress() 
    {
        return orderAddress;
    }

    public void setOrderAddtime(Date orderAddtime) 
    {
        this.orderAddtime = orderAddtime;
    }

    public Date getOrderAddtime() 
    {
        return orderAddtime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderPrice", getOrderPrice())
            .append("orderStatusId", getOrderStatusId())
            .append("orderPayment", getOrderPayment())
            .append("orderAddress", getOrderAddress())
            .append("orderAddtime", getOrderAddtime())
            .toString();
    }
}
